package com.gnerv.cms.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gnerv.cms.dto.CatalogDTO;
import com.gnerv.cms.dto.CatalogSaveDTO;
import com.gnerv.cms.dto.CatalogSearchDTO;
import com.gnerv.cms.dto.CatalogTreeDTO;
import com.gnerv.cms.entity.Catalog;

import java.util.List;

public interface ICatalogService extends IService<Catalog> {

    boolean saveCatalog(CatalogSaveDTO catalogSaveDTO);

    boolean createCatalog(CatalogSaveDTO catalogSaveDTO);

    boolean deleteByCatalogId(String catalogId);

    boolean updateCatalog(CatalogSaveDTO catalogSaveDTO);

    boolean updateCatalogStatus(String catalogId, Integer status);

    CatalogDTO selectCatalog(String catalogId);

    Page<CatalogDTO> listCatalog(CatalogSearchDTO catalog, Long current, Long size);

    List<CatalogTreeDTO> listCatalogTree(CatalogSearchDTO catalog);
}
